// frontend/src/api/realtime.js
import request from '@/utils/request'

/**
 * 获取股票实时行情数据
 * @param {string} stockCode - 股票代码
 * @returns {Promise} 返回包含收盘价的Promise对象
 */
export function getRealTimeQuote(stockCode) {
  return request({
    url: `/api/realtime/quote/${stockCode}`,
    method: 'get',
    timeout: 60000  // 增加到60秒
  })
}

/**
 * 获取股票收盘价
 * @param {string} stockCode - 股票代码
 * @returns {Promise<number>} 返回股票收盘价
 */
export function getClosePrice(stockCode) {
  return getRealTimeQuote(stockCode).then(response => {
    return response.data.closePrice || 0.0
  })
}

/**
 * 批量获取股票收盘价
 * @param {string[]} stockCodes - 股票代码数组
 * @returns {Promise<Object>} 返回股票代码到收盘价的映射对象
 */
export function getBatchClosePrice(stockCodes) {
  const promises = stockCodes.map(code => getClosePrice(code))
  return Promise.all(promises).then(prices => {
    const result = {}
    stockCodes.forEach((code, index) => {
      result[code] = prices[index]
    })
    return result
  })
}